package com.dudu.controller;

import java.io.UnsupportedEncodingException;

/**
 * 账号相关开放接口
 * 
 * @author 危东
 * @date 2016-4-19
 */
public interface IOpenAccountController {
    /**
     * 赵希H5调用
     * 账号信息列表接口(根据CUST_ACCOUNT) H5页面在注册前，H5页面输入“关联码”、关联手机号等然后调用此接口。
     * 返回与关联码一致的所有账号，让用户进行选择。
     * 
     * @return
     */
    public String qryMergeableOrgListByCust();

    /**
     * 赵希H5调用
     * 7.1.1 账号信息列表接口 H5页面在注册前，H5页面输入“关联码”、关联手机号等然后调用此接口。 返回与关联码一致的所有账号，让用户进行选择。
     * 
     * @return
     */
    public String qryMergeableOrgList();

    /**
     * QQQQQQQQQQQQQQQQQQQQQQQQQQQ
     * 7.1.2 账号注册接口（强制合并） 客户调用此接口，只要是关联码一致的账号全部合成一个新的账号。 返回：主账号信息，副账号信息（被合并的账号）
     * 6.42　授权账号注册（强制合并T）接口
     * 
     * @return
     */
    public String orgAccRegForceJoin();

    /**
     * QQQQQQQQQQQQQQQQQQQQQQQQQQ
     * 7.1.3 账号注册接口（普通注册，不合并） 用户选择不进行合并账号，想生成一个新的账号。返回：账号注册信息------------------
     * 6.5　授权认证接口 运营平台接口
     * 
     * @return
     */
    public String orgAccReg();

    /**
     * 赵希H5调用
     * 7.1.4 账号合并接口 (获取H5调用的合并参数,然后调用运营平台合并接口 运营平台返回成功后把副账号信息与主账号信息放入线程.
     * 把所有的副账号信息对应的URL(空则不更新)都更新到主账号中 由线程向副账号对应的URL进行通知更新账号信息(主账号信息) )
     * 
     * @return
     */
    public String orgAccRegWithMerge();

    /**
     * QQQQQQQQQQQQQQQQQQQ
     * 7.1.5 查询账号信息接口 获取账号信息
     * 
     * @return
     * @throws UnsupportedEncodingException
     */
    public String qryOrgAccInfo() throws UnsupportedEncodingException;

    /**
     * QQQQQQQQQQQQQQQQQQQQQQQQ
     * 7.1.6 账号信息更新接口（强制合并） 更新账号信息(强制合并)
     * 
     * @return
     */
    public String updOrgAccInfoForceJoin();

    /**
     * QQQQQQQQQQQQQQQQQQQQQ
     * 7.1.7 账号信息更新接口（普通更新，不合并） 更新账号信息
     * 
     * @return
     */
    public String updOrgAccInfo();

    /**
     * QQQQQQQQQQQQQQQQQQQQ
     * 7.1.8 账号的临时密钥获取（更新）接口 获取账号秘钥
     * 
     * @return
     */
    public String updOrgAccTempKey();

    /**
     * 赵希H5调用
     * 8.1 更新组织账号关联码（返回账号列表） 更新关联码,并返回账号列表
     * 
     * @return
     */
    public String updOrgAccByReleCode();

    /**
     * 赵希H5调用
     * 8.4 组织账号合并-----------------------------------------------------------
     * 7.2.0 合并计费账户接口
     * 
     * @param app_key
     * @param cust_account
     * @param accounts
     * @return
     */
    public String orgAccMerge();

    /**
     * QQQQQQQQQQQQQQQQQQQQ
     * 组织账号找回接口
     * 
     * @return
     */
    public String qryOrgAccByAppkey() throws UnsupportedEncodingException;

}
